import request from '/@/utils/request'

const Public = {
  // 查
  getListApi({ url, params }: any) {
    return request({
      url,
      method: 'get',
      params,
    })
  },

  // 查详情
  getDetailApi({ url, params }: any) {
    return request({
      url,
      method: 'get',
      params,
    })
  },

  // 查下拉菜单
  getDropDownListApi({ url, params }: any) {
    return request({
      url,
      method: 'get',
      params,
    })
  },

  // 增
  addApi({ url, data }: any) {
    console.log('【Public.addApi】', url, data)
    return request({
      url,
      method: 'post',
      data,
    })
  },

  // 改
  editApi({ url, data }: any) {
    if (!data.id) {
      console.error('【Public.editApi】错误: 缺少ID', url, data)
      return Promise.reject(new Error('编辑时必须提供ID'))
    }

    console.log('【Public.editApi】', url, data, '使用ID:', data.id)
    return request({
      url: url + '/' + data.id,
      method: 'put',
      data,
    })
  },
  // 改
  editDictionariesApi({ url, data, params }: any) {
    return request({
      url: url + '/' + params,
      method: 'put',
      data,
    })
  },

  // 删
  delApi({ url, id }: any) {
    if (!id) {
      console.error('【Public.delApi】错误: 缺少ID', url)
      return Promise.reject(new Error('删除时必须提供ID'))
    }

    console.log('【Public.delApi】', url, '使用ID:', id)
    return request({
      url: url + '/' + id,
      method: 'delete',
    })
  },

  // 签到
  signInApi({ url, data }: any) {
    return request({
      url: url,
      method: 'post',
      data,
    })
  },
  // 获取大屏数据
  getSignInData({ url, activityId }: any) {
    return request({
      url: url + activityId,
      method: 'get',
    })
  },

  // 导出
  exportApi({ url, data, responseType }: any) {
    return request({
      url,
      method: 'post',
      data,
      responseType,
    })
  },
}

export default Public
